home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / C / ESPRESSO.ZIP / ESPHEAD.C < prev    next >
Encoding:
C/C++ Source or Header  |  1987-03-14  |  2.2 KB  |  60 lines

  1. /*
  2.     Program:    espresso.c
  3.  
  4.     Author:     Richard Rudell
  5.     Address:    Graduate Student
  6.                 231 Cory Hall
  7.                 University of California
  8.                 Berkeley, CA 94720
  9.  
  10.     Revision:   Version #2.0, December 28, 1984
  11.                 Multiple-valued variable support plus a general
  12.                 re-write of most routines for efficiency.
  13.  
  14.                 Version #2.1, March 2, 1985
  15.                 expand rewritten to be a little more clear; essen
  16.                 didn't listen to the advice of expand for non-
  17.                 essentials; minor changes here and there to support
  18.                 a 16-bit integer machine (i.e., IBM PC)
  19.  
  20.     Description:
  21.  
  22.     This program implements a multiple-valued extension of the
  23.     Espresso-II algorithms for two-level Boolean Minimization described
  24.     in the book "Logic Minimization Algorithms for VLSI Synthesis" by
  25.     R. Brayton, G. Hachtel, C. McMullen, and A. Sangiovanni-
  26.     Vincentelli, Kluwer Academic Publishers, 1984.
  27.  
  28.     Two supporting documents (ESPRESSO(CAD1) and ESPRESSO(CAD5))
  29.     describe the command line options, and input/output file formats.
  30.  
  31.     This is a re-write of the original ESPRESSO-IIC program first
  32.     distributed by Berkeley ILP in the fall of 1984.  The major
  33.     change is that multiple-valued variables are directly supported.
  34.  
  35.  
  36. Portability Considerations:
  37.     It is intended that this file be compiled as a single C program.
  38.  
  39.     Standard C library routines needed:
  40.  
  41.         I/O: printf(), sprintf(), scanf(), fscanf(), fflush(), 
  42.                  fclose(), fopen(), getc(), putc(), ungetc()
  43.         Dynamic memory allocation: malloc()
  44.         String manipulation: strcpy(), strlen(), strcmp(), atol()
  45.         Character identification: isspace()
  46.         Efficient sorting: qsort()
  47.         Other: exit()
  48.  
  49.     The routine ptime() can be connected to the appropriate magic to
  50.     get at the number of seconds of processor time used by the process.
  51.     Compile with "-DUNIX" for Berkeley 4.1/4.2 bsd, "-DVMS" for
  52.     VAX/VMS, or "-DIBM" for IBM VM/CMS to get the correct processor
  53.     time routine.  ptime() will return 0.0 for all other machines.
  54. */
  55.  
  56. #include <stdio.h>
  57. #include <ctype.h>
  58. #define EXTERN
  59. #define INIT
  60.